This patent relates generally to delivery scheduling systems, and more particularly to systems for scheduling deliveries to be made within specified time windows.
Distributors often use computer systems to schedule deliveries of goods to their various customers. In the past, stand-alone computer systems located on-site at a distributor""s place of business were used for this purpose. To schedule a delivery, a customer would call the distributor on the phone and verbally request a desired day and time range for delivery. Commonly, these time ranges would be relatively broad. For example, a customer might request that the delivery be made sometime between 8:00 am and 12:00 pm on a particular day. After receiving the order, the distributor would inform the customer that the distributor would call the customer back at a later time (usually on the next business day) to confirm the order.
At the end of each business day, all of the requested orders would be entered into a delivery-scheduling program that was executed on a stand-alone computer system. This computer system would then execute a batch scheduling program to generate a delivery schedule for all of the day""s orders. In assembling the delivery schedule, the program would schedule the various deliveries in a way that minimized the time and expense required to complete the deliveries.
After a customer""s requested delivery had been scheduled, the distributor would typically inform the customer by telephone as to generally when the delivery would be made. For example, the distributor might inform the customer that the delivery would arrive between 9:00 am and 1:00 pm on a particular day.
Because prior art routing and scheduling programs were written to maximize delivery efficiency, the programs often scheduled individual deliveries to be made outside of their requested delivery time-windows or on days other than the requested delivery day. This was generally not problematic because such deliveries were usually made to retailers that were commonly staffed to conduct business (and receive deliveries) during normal business hours throughout the business week. Thus, it was generally not critical that a delivery be made within the requested time period or on a particular day. For example, to a retailer that was fully staffed on weekdays from 8:00 am-5:00 pm from Monday through Friday, it was usually not a great inconvenience if a delivery were made between 1:00 pm and 5:00 pm on a Wednesday, rather than between 8:00 am and 12:00 pm on a Tuesday, as requested. Either way, an employee would be present to accept the delivery.
With the increased popularity of the Internet, businesses, such as on-line grocery delivery services, have begun delivering directly to individual consumers. Because such individual consumers have jobs and other commitments that make it difficult for them to wait at home for extended periods of time to receive a delivery, it is essential that distributors have the ability to commit to making a delivery within a narrow time window and to be able to reliably deliver within the promised time window. It is further desirable to be able to instantly confirm that the delivery will be made within a certain time window. Without this convenience and dependability, many customers will not use on-line delivery services. Instead, these customers will simply drive or walk to a retailer to purchase and pick up their needed goods in person.
Improved versions of traditional routing and scheduling software allow customers to schedule deliveries in real time within relatively narrow time windows. Such software uses a xe2x80x9cbucket methodxe2x80x9d to schedule the deliveries. When configuring this software, a distributor specifies a pre-determined number of deliveries that may be scheduled for each of several delivery time windows on a particular day. As a result, each particular time window is made available to customers until all of the deliveries scheduled for that particular time window have been reserved by customers. The time window is then xe2x80x9cclosedxe2x80x9d to further deliveries.
Thus, for example, a distributor might specify that five deliveries within a designated area may be scheduled for a 8:00 am-9:00 am, March 31 time window, and that a single truck will be used to make all of these deliveries. In this example, this delivery time window would be made available to all customers until five deliveries had been scheduled to be made within the time window. After five deliveries had been scheduled to be made within the time window, the program would indicate to subsequent customers that the time window was xe2x80x9cclosedxe2x80x9d and, therefore, unavailable.
Such software is advantageous in that it allows customers to schedule deliveries in real time, and within relatively narrow time windows. However, such software does not promote cost-efficient delivery scheduling. For example, in the above example, if the first four deliveries to be made within the 8:00 am-9:00 am, March 31 time window were scheduled to be made within a half mile of each other, and if the fifth delivery were scheduled to be made 15 miles away from any of the first four deliveries, the distributor might actually lose money making the fifth delivery. This is because the cost associated with driving fifteen miles out of the way to make the fifth delivery might be greater than the profit made from the delivery.
Furthermore, there might be situations in which a bucket-type delivery scheduling system would not be able to complete all of the deliveries requested for a particular time window. For example, in the example above, if each of the five deliveries that were scheduled to be made within the 8:00 am-9:00 am, March 31 time window were scheduled to be made to locations that were 15 minutes apart from each of the other delivery locations, the travel time between the 5 different destinations would be 75 minutes. Thus, it would be impossible for a single driver to complete all of the deliveries between 8:00 am and 9:00 am, as promised.
Thus, there is a need in the art for an improved delivery scheduling system that only schedules deliveries within a particular time window if: (1) it is possible to make all scheduled deliveries within the time window; and (2) it makes business sense to make each delivery within the time window.
The present invention seeks to provide an improved delivery scheduling system that only schedules deliveries within a particular time window if: (1) it is possible to make all scheduled deliveries within the time window; and (2) it makes business sense to make each delivery within the time window. The present invention accomplishes this by providing a system and method for: (1) identifying a time window in which a requested delivery may be made to a customer; (2) determining a cost of delivery that includes the cost of making the requested delivery to the customer within the time window; (3) comparing the cost of delivery with a threshold cost; and (4) responsive to the cost of delivery being less than the threshold cost, indicating that the time window is available for the delivery. Furthermore, the system preferably displays the time window to the customer in response to the cost of delivery being less than the threshold cost.
In a preferred embodiment of the invention, the system and method are configured for, responsive to the cost of delivery being equal to the threshold cost, indicating that the time window is not available for the delivery. Preferably, the system and method are also configured for, responsive to the delivery cost being greater than the threshold cost, both indicating that the time window is not available for the delivery and withholding the time window from display to the customer. In this preferred embodiment of the invention, the system and method are configured for receiving the threshold cost from a user.
In a further preferred embodiment of the invention, the time window is associated with a delivery vehicle that is already scheduled to make at least one confirmed delivery within the time widow, and the step of identifying a time window comprises the step of determining whether the delivery vehicle can make both the confirmed delivery and the requested delivery within the time window. The step of identifying the time window also preferably includes the step of determining whether the delivery capacity of the delivery vehicle would be exceeded by the requested delivery.
Preferably, the cost of delivery referenced above includes the labor costs and transportation costs associated with the delivery, and may also include the vehicle preparation costs, and vehicle loading costs associated with the delivery. The system and method are preferably configured for executing the steps described above for a plurality of time windows.
In another preferred embodiment of the invention, the step of displaying the time window to the customer comprises displaying the time window to the customer for a predetermined period of time, and the system and method are also configured for executing the steps of: (1) determining an updated cost of delivery, the updated cost of delivery comprising the cost of making the delivery to the customer within the time window; (2) comparing the updated cost of delivery with the threshold cost; and (3) displaying the time window to the customer if the updated cost of delivery is less than the threshold cost. In this embodiment of the invention, the system and method may further be configured for withholding the time window from display to the customer if the updated cost of delivery is greater than the threshold cost or if the updated cost of delivery is equal to the threshold cost.
Another preferred embodiment of the invention comprises a system and method for performing the steps of: (1) identifying a time window in which a delivery may be made to a customer, the time window being associated with a delivery wave having a delivery wave capacity; (2) comparing a portion of the delivery wave delivery capacity that has been allocated to deliveries with a threshold value; (3) responsive to the portion of the delivery wave delivery capacity that has been allocated to deliveries being greater than the threshold value, performing the steps of: (a) determining a cost of delivery that includes the cost of making the delivery to the customer within the time window; (b) comparing the cost of delivery with a threshold cost; and (c) responsive to the cost of delivery being less than the threshold cost, indicating that the time window is available for the delivery. In this embodiment of the invention, the system and method are preferably configured for, responsive to the cost of delivery being less than the threshold cost, displaying the time window to the customer. Furthermore, in this embodiment of the invention, the system and method are also preferably configured for, in response to the cost of delivery being equal to the threshold cost, indicating that the time window is not available for the delivery.
A further preferred embodiment of the invention comprises a system and method for performing the steps of: (1) identifying a time window in which a delivery may be made to a customer; (2) identifying a customer classification associated with the customer; (3) determining a cost of delivery, the cost of delivery comprising a cost of making the delivery to the customer within the time window; (4) comparing the cost of delivery with a first threshold cost if the order classification corresponds to a first customer classification; (5) comparing the cost of delivery with a second threshold cost if the order classification corresponds to a second customer classification; and (6) indicating that the time window is available for the delivery if either: (a) the cost of delivery is greater than the first threshold cost, and the customer classification corresponds to the first customer classification; or (b) the cost of delivery is greater than the second threshold cost, and the order classification corresponds to the second customer classification. In this embodiment of the invention, the customer classification may correspond to either the size of an order placed by the customer, the customer""s financial characteristics, or the customer""s order history.
An additional embodiment of the invention includes a computer-readable medium that includes computer-executable instructions for executing the various steps that the systems and methods described above are configured to perform.
A further embodiment of the invention comprises a method of determining whether to offer to make a requested delivery within a particular delivery time window, the method comprising the steps of: (1) determining a cost factor associated with making the requested delivery within a particular delivery time window; (2) determining a customer factor associated with a customer requesting the requested delivery; and (3) using both the cost factor and the customer factor to determine whether to offer to make the requested delivery within the particular delivery time window. The step of using both the cost factor and the customer factor preferably includes the steps of: (1) identifying a threshold xe2x80x9cdisplay windowxe2x80x9d value; (2) combining the cost factor and the customer factor to derive a combined delivery factor; and (3) in response to the combined delivery factor being greater than the xe2x80x9cdisplay windowxe2x80x9d value, determining to offer to make the requested delivery within the particular delivery time window. This embodiment of the invention preferably includes the step of, in response to the combined delivery factor being less than the xe2x80x9cdisplay windowxe2x80x9d value, determining to not offer to make the requested delivery within the particular delivery time window.
Alternatively, the step of using both the cost factor and the customer factor may include the steps of: (1) identifying a threshold xe2x80x9cdisplay windowxe2x80x9d value; (2) combining the cost factor and the customer factor to derive a combined delivery factor; and (3) in response to the combined delivery factor being less than the xe2x80x9cdisplay windowxe2x80x9d value, displaying the particular delivery time window. This embodiment of the invention preferably includes the step of, in response to the combined delivery factor being greater than the xe2x80x9cdisplay windowxe2x80x9d value, determining to not offer to make the requested delivery within the particular delivery time window. In a preferred embodiment of the invention, the step of combining the cost factor and the customer factor comprises adding the cost factor and the customer factor.